Current methods of data protection are mostly storage based. These methods include taking a snapshot or clone of a storage device or using a very time consuming method of copying large amounts data from one storage device to another storage device; a device typically designated as a backup device. However as the applications are moving to cloud based deployments, these methods are becoming increasingly inadequate to address the needs of new generation of applications. Cloud based applications are more diverse and distributed and current methods of backing up a volume inadequately provides data protection for distributed applications. It is very common to have a workload consists of multiple virtual machines with multiple storage devices and an application specific network configuration that provides interconnectivity between the virtual machines and storage.
A typical network backup system contains a backup client, a software service running on a host computer copying the data from the host computer to backup server. The backup server stores the data to a backup media such as a magnetic tape or a space efficient file system. The backup server keeps the record of the data location and the time at which the data is backed up. User can browse the record of each data and if needed can restore a particular data to the host.
This method of backup had served the backup needs when computer applications are limited to one computer host and the application data is limited to a computer. When applications are distributed between multiple computers, this method of backup is increasingly becoming insufficient to backup distributed applications. More over as many applications are virtualized or moving to cloud computing, the backup and recovery systems are increasingly using virtual machine snapshots as a means to backup application data instead of individual files.
It thus would be desirable to provide improved or new methods, systems and software for backup and recovery for applications that are distributed between multiple computers such as those where the applications are be run using virtual memories.